package course16;

import java.io.*;

public class FileInputStreamTest {

    public static void main(String[] args)throws Exception {

        //FileInputStream这个流用于从文件读取数据；它的对象也用new实例化
        File filetest=new File("G:/文档/Word/Stream.text");
        //创建FileOutputStream对象，文件不存在则创建它
        FileOutputStream fileOutputStreamtest=new FileOutputStream(filetest);
        //构建OutputStreamWriter对象，参数可以指定编码
        OutputStreamWriter Writertest=new OutputStreamWriter(fileOutputStreamtest,"UTF-8");
        //写入到缓冲区
        Writertest.append("输入中文c4c5cv5h6v6h6jvcve5");
        //换行
        Writertest.append("\n");
        //刷新缓存，写入到文件，如果没有内容流，那么直接close也会写入
        Writertest.append("englishyhe6hhtyhdhe");
        Writertest.append("bmatch");
        //关闭写入流同时会把缓冲区的内容写入文件，注销缓冲区
        Writertest.close();
        //关闭输出流，释放系统资源（这个还是要注意关闭的）
        fileOutputStreamtest.close();
        //创建FileInputStream对象
        FileInputStream fileInputStreamtest1=new FileInputStream(filetest);
        //创建InputStreamReader对象，编码和写入的相同
        InputStreamReader reader=new InputStreamReader(fileInputStreamtest1,"UTF-8");

        StringBuffer stringBuffer=new StringBuffer();
        while (reader.ready()){
            //转成char加入到StringBuffer对象中
            stringBuffer.append((char)reader.read());
        }System.out.println(stringBuffer.toString());
        //关闭读取流
        reader.close();
        //关闭输出流，释放系统资源
        fileInputStreamtest1.close();
    }
}
